import React, { Component } from 'react';


import Header from '../components/Index/Header'
import SideBar from '../components/Index/SideBar'
import Container from '../components/Index/Container'
import { NAV } from '../config/config';
import LoginService from '../services/Login';

const loginService = new LoginService();

export default class IndexPage extends Component {
	constructor (props) {
		super(props);

		this.state = {
			curIdx: 0,
			field: NAV[0].field,
			title: NAV[0].title
		}
	}

    async loginCheck () {
    	const result = await loginService.loginCheck();

		const errorCode = result.error_code;
		const { history } = this.props;
		if (errorCode === 10006) {
			history.push('/login')
			return;
		}
		 history.push('/course')
    }
   
	onNavItemClick (dataItem, index) {
		
		const { field, title } = dataItem;
		this.setState({
			field,
			title,
			curIdx: index
		})
	}
   componentDidMount () {
   	    this.loginCheck()
  }

  render () {
    const { children, history } = this.props,
	      { curIdx } = this.state;
	
		return (
            <div className="container">
            	<Header history= { history } />
                <SideBar 
				  curIdx = { curIdx }
				  onNavItemClick= { this.onNavItemClick.bind(this)}
				/>
				<Container 
				  children={children} 
				/>
            </div>
	   	);
	}
}